package org.hbgl.geoentity.core.util;

import org.apache.commons.codec.binary.Base64;

/**
 * 代码功能：Base64加密解密
 * 作者：陈浩
 * 开发日期：2016.9.11
 * 联系方式：0311-86960507-823
 * 版本更迭说明：V3.0
 * 版权信息系：河北广联信息技术有限公司
 */
public class Base64Code {

    //region 把二进制BYTE数组转换成base64字符串

    /**
     * 把二进制BYTE数组转换成base64字符串
     *
     * @param data 待转换二进制BYTE数组
     * @return base64字符串
     */
    public static String convertByteToBase64(byte[] data) throws Exception {
        return data != null ? new String(Base64.encodeBase64(data)) : "";
    }
    //endregion

    //region 返回解密字符串
    public static String convertBase64StrDecode(String base64Str) throws Exception {
        String deStr = new String(Base64.decodeBase64(base64Str));
        return base64Str != null ? deStr : null;
    }
    //endregion

    //region 将base64字符串转换成二进制BTYE数组

    /**
     * 将base64字符串转换成二进制BTYE数组
     *
     * @param base64Str base64字符串
     * @return 二进制BTYE数组
     * @throws Exception
     */
    public static byte[] convertBase64StrToByte(String base64Str) throws Exception {
        return base64Str != null ? Base64.decodeBase64(base64Str) : null;
    }
    //endregion
}
